iT邦幫忙

1

筆記-Node.js module(模組原理) 綜合練習

  • 分享至 

  • xImage
  •  

綜合練習

Q1 : 當我一個 Node.js 專案資料夾裡面有兩個檔案,一個是 app.js、另一個是 app2.js,裡面各自寫成下方程式碼,當我在終端機執行 node app.js  時,console.log 會顯示什麼資訊?

// app.js
let app = "I am app";
console.log(app2); /*app2 is not defined,得先 let app2 = require("./app2/)並且在app2中加入

module.exports = {

  app2,

}; */

//app2.js
let app2 = "I am app2" 

Q2 : 若我有一隻 app.js,要載入同層的 data.js 檔案模組該用下列何者語法?

A2 :

let data = require("./data"); // ./表示同一個資料夾 

Q3 :

console.log 要怎麼寫才可以撈到 home.js  的第二位兒子資料?

//app.js
const home = require("./home");
console.log(該填入什麼?) //console.log(home.sons[1]) 
//或是 console.log(home["sons"][1]) 
注意此種寫法要加雙引號,並且[1]須加在後方

// home.js
const home = {
"father": "tom",
"mom": "mary",
"sons":['bob','john']
}
module.exports = home;

Q4 : 下列載入模組兩個方法 module.exports   與  exports  ,哪個選項描述錯誤?

1.兩者用法都可依照模組設計所用,無分優劣 //正確

2.兩者可以共用,雙方資料都可以吃到 //一次僅能使用一種,因為後者會蓋掉前者 等於寫了兩行一樣的東西

Q5 : 要使用 Node.js 開啟一個 web 伺服器,必須先載入哪個 Node 內建原生模組?

Server //暫時沒看到這模組

createServer //可以接收req回傳res 需先載入3.http

HTTP //載入模組

Q6 : 用那個語法可以撈到使用者造訪網站的網址 ,下方問號處要寫什麼?

var http = require("http");
http.createServer(function(request,response){
console.log(???);
}).listen(8080);

request.website 

request.url //使用者請求網址 可至網頁f12-網路按f5點任一個req的Headers有req.url

response.link //res是回傳給使用者的資料 res Headers中有(位置同上)

response.url

Q7 : 若我執行 node app.js  時,想取得目前 app.js 的當下資料夾目錄 時,該下什麼語法?

__dirname //找到檔案所在資料夾(排除檔案名稱                                  //path.dirname('/aa/bb/cc.js') 回傳 /aa/bb

__filename //找到檔名才停下來(含.js)  //path.filename('/aa/bb/cc.js') 回傳 /aa/bb/cc.js

fils //暫時沒看到這個module

local // Local modules are modules created locally in your Node. js application. These modules include different functionalities of your application in separate files and folders. You can also package it and distribute it via NPM, so that Node.

Q8 : 要取得一個檔案的副檔名,可以用 Node.js Path 模組的哪個功能?

basename //path.basename('/aa/bb/cc.js') 回傳 cc.js

extname // path.extname('/aa/bb/cc.js') 回傳 js

join //path.join(__dirname,'/aa') 回傳 /aa(前後路徑合併)

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言